// 社区详情页面
Page({
  /**
   * 页面的初始数据
   */
  data: {
    communityId: 0,
    communityInfo: {},
    hasContent: false,
    isLoading: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    // 从页面参数中获取社区ID
    if (options && options.id) {
      this.setData({
        communityId: parseInt(options.id)
      });
      // 获取社区详情
      this.getCommunityDetail();
    } else {
      wx.showToast({
        title: '社区ID无效',
        icon: 'none'
      });
      setTimeout(() => {
        wx.navigateBack();
      }, 1500);
    }
  },

  /**
   * 获取社区详情
   */
  getCommunityDetail: function() {
    this.setData({
      isLoading: true
    });

    wx.request({
      url: `http://localhost:8080/api/community/${this.data.communityId}`,
      success: (res) => {
        if (res.data && res.data.success) {
          const communityInfo = res.data.data;
          // 处理标签数据
          if (communityInfo.tags) {
            communityInfo.tags = communityInfo.tags.split(',').filter(tag => tag.trim() !== '');
          }
          
          this.setData({
            communityInfo: communityInfo,
            hasContent: communityInfo.postCount > 0
          });
        } else {
          wx.showToast({
            title: res.data.message || '获取社区详情失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('获取社区详情失败:', err);
        wx.showToast({
          title: '可能由于网络原因暂时无法连接到服务器，请检查网络连接',
          icon: 'none',
          duration: 3000
        });
      },
      complete: () => {
        this.setData({
          isLoading: false
        });
      }
    });
  },

  /**
   * 处理成员状态变化
   */
  onMemberStatusChange: function(e) {
    const { isJoined } = e.detail;
    
    // 更新页面中的成员数量
    let communityInfo = this.data.communityInfo;
    if (communityInfo && communityInfo.memberCount !== undefined) {
      if (isJoined) {
        communityInfo.memberCount += 1;
      } else if (communityInfo.memberCount > 0) {
        communityInfo.memberCount -= 1;
      }
      
      this.setData({
        communityInfo: communityInfo
      });
    }
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    // 每次显示页面时，检查登录状态
    this.checkLoginStatus();
  },

  /**
   * 检查登录状态
   */
  checkLoginStatus: function() {
    // 这里可以根据实际需求进行登录状态检查
    const userId = wx.getStorageSync('userId');
    // 如果有登录状态变化，可以在这里进行相应处理
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {
    // 下拉刷新时重新获取社区详情
    this.getCommunityDetail();
    wx.stopPullDownRefresh();
  }
});